朱元民的简历
前端工程师
个人信息
| 姓名:朱元民 | 籍贯:江西吉安 | |
| 学历:本科 | 毕业时间:2012.09 - 2016.07 | |
| 手机:13058039407 | 毕业院校:东华理工大学长江学院 | |
| 邮箱:13058039407@163.com | ||
工作经历
- 2021/07—2022/07Akulaku-冰火事业部Web前端开发岗
(受市场大环境影响,公司业务收缩,被迫裁员)
- 工作内容:
1、CRM业绩管理系统开发(React);
2、Console后台管理系统开发(React);
3、Access权限系统开发(Vue);
4、App H5应用开发(React);
5、在线客服聊天系统(基于腾讯IM即时通讯SDK);
6、内部UI框架(kula)Tip组件的贡献。
- 工作内容:
- 2019/02—2021/07深圳高灯计算机科技有限公司前端开发工程师
- 工作内容:
1、评审需求拆分成 task 评估工作量;
2、React 项目搭建部署;
3、Webpack 性能优化;
4、通用组件封装,业务组件抽离;
5、上线代码的维护迭代更新。
- 工作内容:
- 2016/07—2019/02贵广网络深圳研发中心H5原生开发(终端机顶盒开发)
- 工作内容:
1、电视机顶盒终端专区开发(界面、接口数据);
2、电视视频业务直播功能开发(调用android接口创建底层播放器);
3、点播播放器播控功能开发;
4、点播时移回看功能(对接第三方接口文档,RTSP协议等);
5、系统设置应用开发(搜台,网络设置,系统升级,恢复出厂等);
6、Adb 工具开发调试。
- 工作内容:
专业技能
- 熟练使用HTML(5)、CSS(3)、JavaScript等前端技术。
- 熟练Vue、React项目开发及常用UI库的使用;
- 对Vuex、Redux、Mobx、Hooks有一定研究;
- 掌握Webpack配置及Git版本控制;
- 掌握移动端开发、小程序开发;
- 掌握Typescript项目开发;
- 前端性能优化(体积小,请求少);
- 掌握一些常见的数据结构与算法及设计模式;
- 掌握Rollup 打包组件私库npm部署。
项目经历
项目一:CRM、Console、Access项目(2021.7-2022.7)
采用技术: react+antd+umijs 项目描述: CRM为业绩统计管理系统,Console为后台管理系统,Access为权限系统。这些管理系统较业务偏多,便于分析用户行为及喜好,管理用户数据。基本上是本人独自负责,技术难度不大,主要是业务繁琐。 项目职责: 1. 项目搭建、页面组件的开发
2. 公共组件的提取 3. 通用方法的封装项目内容: 功能点:
1. 接口响应拦截统一处理(请求错误也进入响应)
2. 埋点,Sentry错误日志上报
3. 页面权限(路由)、按钮权限处理(权限系统下发)
4. 国际化语言的处理
5. css 变量的使用
6. 微前端的接入MicroApp(https://zeroing.jd.com)
7. 业务功能的开发项目地址: 1. CRM:https://crm.oneaset.co.id
2. Console:https://console.oneaset.co.id项目二:黄金交易项目、客服聊天系统(2021.7-2022.7)
采用技术: react+antd 项目描述: 1. 黄金交易数据的呈现,包括买入、卖出、持仓,收益起伏;金价变动曲线图表
2. 处理用户黄金交易的买入、卖出、转赠、交易详情,实时金价变动
3. 用户持仓详情、收益追踪,交易状态的呈现
4. 黄金助力活动--邀请好友助力免费领取黄金,参与转盘抽奖,为黄金交易引流
5. 对于crm与console【客服端】及app端【用户端】提供在线聊天功能项目职责: 1. H5与原生交互
2. 公共组件的提取
3. 通用方法的封装项目内容: 功能点:
1. 埋点数据及错误日志上报
2. 下拉刷新功能的手动实现
3. Echarts 图表的定制实现:最值的标注、自定义滑动区域等
4. 国际化语言的处理
5. 消息功能复杂,包括:机器人消息,客服消息,已读消息,会话消息,新增会话,移除
6. 会话,置顶消息,转接消息
7. 处于其他页面,全局消息弹窗
8. 搜索会话(昵称,最新消息)高亮显示
9. 会话草稿功能、自定义消息、emoji、图片及预览功能(react-photo-view)
10. 拖拽上传、粘贴上传、按钮上传图片
11. 查询用户详情及常用语
12. 聊天输入匹配常用语和智能应答
13. 实现了编程式组件创建与移除
14. 通过 rollup 独立打包成私库 npm 包,以便其他项目使用
15. 解决由于项目架构搭建的不同造成功能上出现的兼容性差异项目三:微报销、企票夹项目(2020.6-2021.7)
采用技术: react+antd+antd-mobile+go+router+mobx+redux+小程序原生 项目描述: 微报销属于一款企业级应用,为企业员工提供便捷的报销系统;企票夹属于一 款企业级应用,为企业员工提供便捷的票价管理系统。 项目职责: 1. 项目搭建、页面组件的开发
2. 公共组件的提取
3. 通用方法的封装
4. 企业微信 jdk 功能对接项目内容: 多端:
1. PC 端管理后台(React)
2. 微信小程序(原生)
3. 企业微信 H5(React +jdk)
4. OMC 超级后台(Vue3 项目框架搭建)多渠道:
1. 微报销<-->腾讯云费控
2. 企票夹<-->腾讯云智能票夹功能点:
1. 接口异常的错误统一拦截响应 -- axios
2. 埋点,数据收集 -- 百度统计
3. Webpack 打包优化、css Modules 配置、react-loadable 组件懒加载
4. 实现 React router路由表配置形式
5. PC 长列表、树结构数据虚拟滚动 -- react-window
6. 移动端 H5 路由回退缓存 -- react-router-cache-route
7. 移动端 H5 px 转 rem -- postcss-pxtorem
8. PC 图片预览 -- react-viewer
9. 移动端 H5 新手引导 -- driver.js
10. Eslint 格式化提交规范 -- git hooks [pre-commit|prepare-commit-msg]
11. 实现了 jsx+(r-if/r-else-if/r-else、r-for、r-modal、r-show)
12. 正选反选逻辑、window.print() 样式调整、通用弹框组件封装、拖拽功能实现项目地址: 1. 微报销:https://wbx.fapiaoer.cn
2. 企票夹:https://qpj.fapiaoer.cn项目四:eSales系统(2019.2-2020.4)
采用技术: Vue+AUI+jalor service+router+vuex+mysql 项目描述: proposal项目、biddingletter项目、eAccount项目子系统,属于项目重构 项目职责: 1. 完成各种页面组件的开发
2. 公共组件的提取
3. 通用方法的封装
4. 错误异常的统一处理项目内容: eSales系统中,proposal为投标系统,biddingletter为双函项目(授权函&服务承诺函),eAccount为行业客户管理系统。
前端遵从Aurora(内部基于Vue的UI框架)开发规范。
项目开发踩坑经验分享一下:
1. tab切换组件,遍历生成的多个页签(每个页签有网络请求)会触发当前tab页签接口多次重复调用
2. 多个功能按钮存在权限控制,权限控制又来自异步接口回调,导致渲染时出现按钮上显示的文本与实际点击产生的功能不一致
3. 数据级联问题,比如常见的省市区联动。由于后台入库的值为code,而市区的匹配必须要根据父级的code查到当前的数据再进行匹配。困难点在于数据回显
自我评价
- 沉稳有耐心,有浓厚的兴趣,尽心尽责,有上进心;
- 动手能力强,有良好的分析能力和解决问题的能力;
- 有人生规划明确。
个人作品
github 项目:
- 从 0 搭建 react 项目:
【react-0-1-build】https://github.com/zhuyuanmin/react-0-1-build - react 通用选择组件封装:
【react-universal-selector】
https://github.com/zhuyuanmin/react-universal-selector - 原生 fetch 封装实现 类似 axios 拦截响应功能:
【Fetch-data】https://github.com/zhuyuanmin/Fetch-data - Web 直播分享功能演示(浏览器新 api):
【Web-Live-Test】https://github.com/zhuyuanmin/Web-Live-Test - js 爬虫工具 puppetter 体验:
【javascript-spider】https://github.com/zhuyuanmin/javascript-spider - React 脚手架:
【zym-cli】https://github.com/zhuyuanmin/zym-cli
- 从 0 搭建 react 项目:
稀土掘金:
- 【想写 React, 公司技术选型却限制用 Vue, 怎么办?我来教你!】
https://juejin.cn/post/6844904130956230670 - 【Vue 弹框组件二次封装】
https://juejin.cn/post/6844904183687036936 - 【Vue3 深入响应式原理】
https://juejin.cn/post/6905676646066421768 - 【从 0 搭建一个前端项目,我们要做什么?】
https://juejin.cn/post/6953807616082460702 - 【写了个 babel-plugin,我收获了不止一点】
https://juejin.cn/post/6961299855981428750 - 【My-Redux 原理实现】
https://juejin.cn/post/7070811421092610085 - 【Web 浏览器跨域解决方案】
https://juejin.cn/post/7085531817024946213 - 【[干货] JavaScript 动画概述】
https://juejin.cn/post/7104478397379641357
- 【想写 React, 公司技术选型却限制用 Vue, 怎么办?我来教你!】